﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace TibcoQueueMonitor.Entities
{
    /// <summary>
    /// Represents a object containing fields that are to be displayed within
    /// the tool's grids.
    /// </summary>
    [Serializable]
    public class TibcoConnectionDisplayEntity
    {
        #region Private Fields
        private string _connectionId;
        private string _environment;
        private string _envType;
        private string _host;
        private string _queueName;
        private string _user;
        private string _clientType;
        private bool _active;
        private bool _sslEnabled;
        private TimeSpan _uptime;

        #endregion //Private Fields

        #region Public Properties
        /// <summary>
        /// Gets or sets the connection ID.
        /// </summary>
        /// <value>The connection ID.</value>
        public string ConnectionID
        {
            get { return _connectionId; }
            set { _connectionId = value; }
        }

        /// <summary>
        /// Gets or sets the environment.
        /// </summary>
        /// <value>The environment.</value>
        public string Environment
        {
            get { return _environment; }
            set { _environment = value; }
        }

        /// <summary>
        /// Gets or sets the type of the env.
        /// </summary>
        /// <value>The type of the env.</value>
        public string EnvType
        {
            get { return _envType; }
            set { _envType = value; }
        }

        /// <summary>
        /// Gets or sets the host.
        /// </summary>
        /// <value>The host.</value>
        public string Host
        {
            get { return _host; }
            set { _host = value; }
        }

        /// <summary>
        /// Gets or sets the name of the queue.
        /// </summary>
        /// <value>The name of the queue.</value>
        public string QueueName
        {
            get { return _queueName; }
            set { _queueName = value; }
        }

        /// <summary>
        /// Gets or sets the user.
        /// </summary>
        /// <value>The user.</value>
        public string User
        {
            get { return _user; }
            set { _user = value; }
        }

        /// <summary>
        /// Gets or sets the type of the client.
        /// </summary>
        /// <value>The type of the client.</value>
        public string ClientType
        {
            get { return _clientType; }
            set { _clientType = value; }
        }

        /// <summary>
        /// Gets or sets the uptime.
        /// </summary>
        /// <value>The uptime.</value>
        public TimeSpan Uptime
        {
            get { return _uptime; }
            set { _uptime = value; }
        }

        /// <summary>
        /// Gets or sets a value indicating whether the connection is active.
        /// </summary>
        /// <value><c>true</c> if active; otherwise, <c>false</c>.</value>
        public bool Active
        {
            get { return _active; }
            set { _active = value; }
        }

        /// <summary>
        /// Gets or sets a value indicating whether the connection is
        /// SSL-enabled.
        /// </summary>
        /// <value><c>true</c> if SSL is enabled; otherwise, <c>false</c>.</value>
        public bool SSLEnabled
        {
            get { return _sslEnabled; }
            set { _sslEnabled = value; }
        }

        #endregion //Public Properties

        #region Constructors
        /// <summary>
        /// Initializes a new instance of the <see cref="TibcoConnectionDisplayEntity"/> class.
        /// </summary>
        public TibcoConnectionDisplayEntity()
        { }

        #endregion //Constructors
    }
}
